package com.hzz.dto.report;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("年报 DTO")
public class ReportYearDto extends BaseDto {
    /**
     * id
     */
    String id;
    /**
     * 行政区域id
     */
    @Size(max = 85, message = "areaId最大85字符")
    String areaId;
    /**
     * 行政区域name
     */
    @Size(max = 255, message = "areaName最大255字符")
    String areaName;
    /**
     * 年报年份(起)
     */
    @NotNull(message = "dateReportBegin不能为空")
    @Size(max = 15, message = "dateReportBegin最大15字符")
    String dateReportBegin;
    /**
     * 年报年份(止)
     */
    @Size(max = 15, message = "dateReportEnd最大15字符")
    String dateReportEnd;
    /**
     * 填报日期
     */
    @JSONField(format = "yyyy-MM-dd")
    Date reportingDate;
    /**
     * 填报人id
     */
    Long reportingRiveruserId;
    /**
     * 填报人姓名
     */
    @Size(max = 255, message = "reportingRiveruserName最大255字符")
    String reportingRiveruserName;
    /**
     * 填报机构id
     */
    Long reportingOrgId;
    /**
     * 填报机构名称
     */
    @Size(max = 255, message = "reportingOrgName最大255字符")
    String reportingOrgName;
    /**
     * 村级河长、湖长（包含巡河员、护河员）人数
     */
    Integer specialVillageSupervise;
    /**
     * 聘用贫困人口担任巡河员、护河员的人数
     */
    Integer specialPoor;
    /**
     * 问责-级别
     */
    Integer aLevel;
    /**
     * 问责-志愿者服务组织数量（个）
     */
    Integer aVolunteersOrg;
    /**
     * 问责-河湖治理投入级别
     */
    Integer aGovernLevel;
    /**
     * 问责-河湖治理社会资本（万元）
     */
    BigDecimal aGovernSocialCapital;
    /**
     * 问责-民间河长（人）
     */
    Integer aVoluntaryRiverSupervise;
    /**
     * 问责-志愿者服务组织成员（人）
     */
    Integer aVolunteersPerson;
    /**
     * 问责-河湖治理财政投入（万元
     */
    BigDecimal aGovernFiscal;
    /**
     * 问责-河湖治理合计（万元）
     */
    BigDecimal aGovernTotal;
    /**
     * 0
     */
    Integer state;
    /**
     * 备注
     */
    @Size(max = 255, message = "memo最大255字符")
    String memo;
    /**
     * 版本号
     */
    Integer version;
    /**
     * 排序
     */
    Integer orderNo;
    /**
     * 删除标记
     */
    Integer delFlag;
    /**
     * 建立者id
     */
    Long createId;
    /**
     * 创建时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateCreated;
    /**
     * 更新时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateUpdated;

}
